/*************************************************/
/* SPECIAL REGISTER DEFINE                       */
/*************************************************/

/* VERSION */
#define __SR_VERSION 1


/* MACRO DEFINE */
#define __UMEM8(addr)  (*((volatile unsigned char  *)addr))
#define __UMEM16(addr) (*((volatile unsigned short *)addr))
#define __UMEM32(addr) (*((volatile unsigned long  *)addr))


/* SPECIAL REGISTER DEFINE */
#define C0CANCTR	__UMEM8(0x3D00)
#define C0STAT	__UMEM8(0x3D02)
#define C0ERCNT_L	__UMEM8(0x3D04)
#define C0ERCNT_H	__UMEM8(0x3D05)
#define C0BITTMG_L	__UMEM8(0x3D06)
#define C0BITTMG_H	__UMEM8(0x3D07)
#define C0CANINT_L	__UMEM8(0x3D08)
#define C0CANINT_H	__UMEM8(0x3D09)
#define C0CANTST	__UMEM8(0x3D0A)
#define C0BRPEXT	__UMEM8(0x3D0C)
#define C0IF1CMDRQ_L	__UMEM8(0x3D10)
#define C0IF1CMDRQ_H	__UMEM8(0x3D11)
#define C0IF1CMDMSK	__UMEM8(0x3D12)
#define C0IF1MSK1_L	__UMEM8(0x3D14)
#define C0IF1MSK1_H	__UMEM8(0x3D15)
#define C0IF1MSK2_L	__UMEM8(0x3D16)
#define C0IF1MSK2_H	__UMEM8(0x3D17)
#define C0IF1ARB1_L	__UMEM8(0x3D18)
#define C0IF1ARB1_H	__UMEM8(0x3D19)
#define C0IF1ARB2_L	__UMEM8(0x3D1A)
#define C0IF1ARB2_H	__UMEM8(0x3D1B)
#define C0IF1MSGCNT_L	__UMEM8(0x3D1C)
#define C0IF1MSGCNT_H	__UMEM8(0x3D1D)
#define C0IF1DATA1_L	__UMEM8(0x3D1E)
#define C0IF1DATA1_H	__UMEM8(0x3D1F)
#define C0IF1DATA2_L	__UMEM8(0x3D20)
#define C0IF1DATA2_H	__UMEM8(0x3D21)
#define C0IF1DATB1_L	__UMEM8(0x3D22)
#define C0IF1DATB1_H	__UMEM8(0x3D23)
#define C0IF1DATB2_L	__UMEM8(0x3D24)
#define C0IF1DATB2_H	__UMEM8(0x3D25)
#define C0IF2CMDRQ_L	__UMEM8(0x3D40)
#define C0IF2CMDRQ_H	__UMEM8(0x3D41)
#define C0IF2CMDMSK	__UMEM8(0x3D42)
#define C0IF2MSK1_L	__UMEM8(0x3D44)
#define C0IF2MSK1_H	__UMEM8(0x3D45)
#define C0IF2MSK2_L	__UMEM8(0x3D46)
#define C0IF2MSK2_H	__UMEM8(0x3D47)
#define C0IF2ARB1_L	__UMEM8(0x3D48)
#define C0IF2ARB1_H	__UMEM8(0x3D49)
#define C0IF2ARB2_L	__UMEM8(0x3D4A)
#define C0IF2ARB2_H	__UMEM8(0x3D4B)
#define C0IF2MSGCNT_L	__UMEM8(0x3D4C)
#define C0IF2MSGCNT_H	__UMEM8(0x3D4D)
#define C0IF2DATA1_L	__UMEM8(0x3D4E)
#define C0IF2DATA1_H	__UMEM8(0x3D4F)
#define C0IF2DATA2_L	__UMEM8(0x3D50)
#define C0IF2DATA2_H	__UMEM8(0x3D51)
#define C0IF2DATB1_L	__UMEM8(0x3D52)
#define C0IF2DATB1_H	__UMEM8(0x3D53)
#define C0IF2DATB2_L	__UMEM8(0x3D54)
#define C0IF2DATB2_H	__UMEM8(0x3D55)
#define C0TXRQ1_L	__UMEM8(0x3D80)
#define C0TXRQ1_H	__UMEM8(0x3D81)
#define C0TXRQ2_L	__UMEM8(0x3D82)
#define C0TXRQ2_H	__UMEM8(0x3D83)
#define C0NEWDAT1_L	__UMEM8(0x3D90)
#define C0NEWDAT1_H	__UMEM8(0x3D91)
#define C0NEWDAT2_L	__UMEM8(0x3D92)
#define C0NEWDAT2_H	__UMEM8(0x3D93)
#define C0INTPND1_L	__UMEM8(0x3DA0)
#define C0INTPND1_H	__UMEM8(0x3DA1)
#define C0INTPND2_L	__UMEM8(0x3DA2)
#define C0INTPND2_H	__UMEM8(0x3DA3)
#define C0MSGVAL1_L	__UMEM8(0x3DB0)
#define C0MSGVAL1_H	__UMEM8(0x3DB1)
#define C0MSGVAL2_L	__UMEM8(0x3DB2)
#define C0MSGVAL2_H	__UMEM8(0x3DB3)
#define C0IFCNTRL	__UMEM8(0x3DC8)
#define C0IFCLKCTR	__UMEM8(0x3DCA)
#define C0INTSTAT	__UMEM8(0x3DCC)
#define CANPMD	__UMEM8(0x3DCF)
#define CHDRVSEL	__UMEM8(0x3DF0)
#define PWMMDL	__UMEM8(0x3E00)
#define PWMMDH	__UMEM8(0x3E01)
#define PWMSELL	__UMEM8(0x3E02)
#define PWMSELH	__UMEM8(0x3E03)
#define PWMSETL	__UMEM8(0x3E04)
#define PWMSETH	__UMEM8(0x3E05)
#define TCMPAL	__UMEM8(0x3E06)
#define TCMPAH	__UMEM8(0x3E07)
#define TCMPBL	__UMEM8(0x3E08)
#define TCMPBH	__UMEM8(0x3E09)
#define TCMPCL	__UMEM8(0x3E0A)
#define TCMPCH	__UMEM8(0x3E0B)
#define OUTMD	__UMEM8(0x3E0C)
#define DTMSET	__UMEM8(0x3E0D)
#define PWMBCL	__UMEM8(0x3E10)
#define PWMBCH	__UMEM8(0x3E11)
#define BCSTR	__UMEM8(0x3E12)
#define PWMOFFL	__UMEM8(0x3E13)
#define PWMOFFH	__UMEM8(0x3E14)
#define IRQCULL	__UMEM8(0x3E15)
#define PWMTMCNT	__UMEM8(0x3E16)
#define RELCTR	__UMEM8(0x3E17)
#define PWMODR	__UMEM8(0x3E18)
#define RELSTAT	__UMEM8(0x3E19)
#define PWMCMP1	__UMEM8(0x3E1A)
#define PWMCMP2	__UMEM8(0x3E1B)
#define LC00BUF	__UMEM8(0x3E20)
#define LC01BUF	__UMEM8(0x3E21)
#define LC02BUF	__UMEM8(0x3E22)
#define LC03BUF	__UMEM8(0x3E23)
#define LC04BUF	__UMEM8(0x3E24)
#define LC05BUF	__UMEM8(0x3E25)
#define LC06BUF	__UMEM8(0x3E26)
#define LC07BUF	__UMEM8(0x3E27)
#define LC08BUF	__UMEM8(0x3E28)
#define LC09BUF	__UMEM8(0x3E29)
#define LC0ABUF	__UMEM8(0x3E2A)
#define LC0BBUF	__UMEM8(0x3E2B)
#define LCDMD1	__UMEM8(0x3E40)
#define LCDMD2	__UMEM8(0x3E41)
#define LCDMD3	__UMEM8(0x3E42)
#define LCCTR0	__UMEM8(0x3E43)
#define LCCTR1	__UMEM8(0x3E44)
#define LCCTR2	__UMEM8(0x3E45)
#define LCCTR3	__UMEM8(0x3E46)
#define LCCTR4	__UMEM8(0x3E47)
#define PRTKEY	__UMEM8(0x3E50)
#define CKTRMD	__UMEM8(0x3E51)
#define CKMONEN	__UMEM8(0x3E52)
#define CKMONSETU	__UMEM8(0x3E53)
#define CKMONSETL	__UMEM8(0x3E54)
#define CKMONSTAT	__UMEM8(0x3E55)
#define OSCLOCK	__UMEM8(0x3E56)
#define AT1CNT0	__UMEM8(0x3E60)
#define AT1CNT1	__UMEM8(0x3E61)
#define AT1TRC	__UMEM8(0x3E62)
#define AT1MAP0L	__UMEM8(0x3E63)
#define AT1MAP0M	__UMEM8(0x3E64)
#define AT1MAP0H	__UMEM8(0x3E65)
#define AT1MAP1L	__UMEM8(0x3E66)
#define AT1MAP1M	__UMEM8(0x3E67)
#define AT1MAP1H	__UMEM8(0x3E68)
#define P0OUT	__UMEM8(0x3E70)
#define P2OUT	__UMEM8(0x3E72)
#define P5OUT	__UMEM8(0x3E75)
#define P6OUT	__UMEM8(0x3E76)
#define P7OUT	__UMEM8(0x3E77)
#define P8OUT	__UMEM8(0x3E78)
#define P9OUT	__UMEM8(0x3E79)
#define PAOUT	__UMEM8(0x3E7A)
#define P0IN	__UMEM8(0x3E80)
#define P2IN	__UMEM8(0x3E82)
#define P5IN	__UMEM8(0x3E85)
#define P6IN	__UMEM8(0x3E86)
#define P7IN	__UMEM8(0x3E87)
#define P8IN	__UMEM8(0x3E88)
#define P9IN	__UMEM8(0x3E89)
#define PAIN	__UMEM8(0x3E8A)
#define P0DIR	__UMEM8(0x3E90)
#define P2DIR	__UMEM8(0x3E92)
#define P5DIR	__UMEM8(0x3E95)
#define P6DIR	__UMEM8(0x3E96)
#define P7DIR	__UMEM8(0x3E97)
#define P8DIR	__UMEM8(0x3E98)
#define P9DIR	__UMEM8(0x3E99)
#define PADIR	__UMEM8(0x3E9A)
#define P0PLUD	__UMEM8(0x3EA0)
#define P2PLU	__UMEM8(0x3EA2)
#define P5PLUD	__UMEM8(0x3EA5)
#define P6PLU	__UMEM8(0x3EA6)
#define P7PLUD	__UMEM8(0x3EA7)
#define P8PLU	__UMEM8(0x3EA8)
#define P9PLU	__UMEM8(0x3EA9)
#define PAPLUD	__UMEM8(0x3EAA)
#define SELUD	__UMEM8(0x3EAF)
#define P0OMD1	__UMEM8(0x3EB0)
#define P6OMD	__UMEM8(0x3EB6)
#define P8OMD	__UMEM8(0x3EB8)
#define PAOMD1	__UMEM8(0x3EBA)
#define SELUD2	__UMEM8(0x3EBF)
#define P0OMD2	__UMEM8(0x3EC0)
#define P5IMD	__UMEM8(0x3EC5)
#define P9IMD	__UMEM8(0x3EC9)
#define PAIMD	__UMEM8(0x3ECA)
#define PACNT	__UMEM8(0x3EDA)
#define P0LED	__UMEM8(0x3EE0)
#define P8ODC	__UMEM8(0x3EE8)
#define PAOMD2	__UMEM8(0x3EEA)
#define P0ODC	__UMEM8(0x3EF0)
#define P5ODC	__UMEM8(0x3EF5)
#define P6ODC	__UMEM8(0x3EF6)
#define P7ODC	__UMEM8(0x3EF7)
#define P8SYO	__UMEM8(0x3EF8)
#define P8SEV	__UMEM8(0x3EF9)
#define CPUM	__UMEM8(0x3F00)
#define MEMCTR	__UMEM8(0x3F01)
#define WDCTR	__UMEM8(0x3F02)
#define DLYCTR	__UMEM8(0x3F03)
#define WD2CTR	__UMEM8(0x3F05)
#define HANDSHAKE	__UMEM8(0x3F06)
#define AUCTR	__UMEM8(0x3F07)
#define SBNKR	__UMEM8(0x3F0A)
#define DBNKR	__UMEM8(0x3F0B)
#define SC0SEL	__UMEM8(0x3F10)
#define SC0MD0	__UMEM8(0x3F11)
#define SC0MD1	__UMEM8(0x3F12)
#define SC0MD2	__UMEM8(0x3F13)
#define SC0MD3	__UMEM8(0x3F14)
#define SC0STR	__UMEM8(0x3F15)
#define RXBUF0	__UMEM8(0x3F16)
#define TXBUF0	__UMEM8(0x3F17)
#define LINCTR	__UMEM8(0x3F18)
#define RSTFACT	__UMEM8(0x3F19)
#define OSCCNT	__UMEM8(0x3F1A)
#define RCCNT	__UMEM8(0x3F1B)
#define OSCSCNT	__UMEM8(0x3F1C)
#define RCSCNT	__UMEM8(0x3F1D)
#define EDGDT	__UMEM8(0x3F1E)
#define PLLCNT	__UMEM8(0x3F1F)
#define SC1SEL	__UMEM8(0x3F20)
#define SC1MD0	__UMEM8(0x3F21)
#define SC1MD1	__UMEM8(0x3F22)
#define SC1MD2	__UMEM8(0x3F23)
#define SC1MD3	__UMEM8(0x3F24)
#define SC1STR	__UMEM8(0x3F25)
#define RXBUF1	__UMEM8(0x3F26)
#define TXBUF1	__UMEM8(0x3F27)
#define SCINTSEL	__UMEM8(0x3F28)
#define LVIMD	__UMEM8(0x3F2F)
#define SC2SEL	__UMEM8(0x3F30)
#define SC2MD0	__UMEM8(0x3F31)
#define SC2MD1	__UMEM8(0x3F32)
#define SC2MD2	__UMEM8(0x3F33)
#define SC2MD3	__UMEM8(0x3F34)
#define SC2STR	__UMEM8(0x3F35)
#define RXBUF2	__UMEM8(0x3F36)
#define TXBUF2	__UMEM8(0x3F37)
#define KEYT3_1IMD	__UMEM8(0x3F3E)
#define KEYT3_2IMD	__UMEM8(0x3F3F)
#define WD2MDSEL	__UMEM8(0x3F4C)
#define WD2CLR	__UMEM8(0x3F4D)
#define IRQEXPEN	__UMEM8(0x3F4E)
#define IRQEXPDT	__UMEM8(0x3F4F)
#define SC4MD0	__UMEM8(0x3F50)
#define SC4MD1	__UMEM8(0x3F51)
#define SC4MD2	__UMEM8(0x3F52)
#define SC4MD3	__UMEM8(0x3F53)
#define SC4AD0	__UMEM8(0x3F54)
#define SC4STR0	__UMEM8(0x3F56)
#define SC4STR1	__UMEM8(0x3F57)
#define RXBUF4	__UMEM8(0x3F58)
#define TXBUF4	__UMEM8(0x3F59)
#define SC4SEL	__UMEM8(0x3F5A)
#define STB_EDG	__UMEM8(0x3F5E)
#define STB_MSK	__UMEM8(0x3F5F)
#define TM0BC	__UMEM8(0x3F60)
#define TM1BC	__UMEM8(0x3F61)
#define TM0OC	__UMEM8(0x3F62)
#define TM1OC	__UMEM8(0x3F63)
#define TM0MD	__UMEM8(0x3F64)
#define TM1MD	__UMEM8(0x3F65)
#define CK0MD	__UMEM8(0x3F66)
#define CK1MD	__UMEM8(0x3F67)
#define TM2BC	__UMEM8(0x3F68)
#define TM3BC	__UMEM8(0x3F69)
#define TM2OC	__UMEM8(0x3F6A)
#define TM3OC	__UMEM8(0x3F6B)
#define TM2MD	__UMEM8(0x3F6C)
#define TM3MD	__UMEM8(0x3F6D)
#define CK2MD	__UMEM8(0x3F6E)
#define CK3MD	__UMEM8(0x3F6F)
#define TM4BC	__UMEM8(0x3F70)
#define TMABC	__UMEM8(0x3F71)
#define TM4OC	__UMEM8(0x3F72)
#define TMAOC	__UMEM8(0x3F73)
#define TM4MD	__UMEM8(0x3F74)
#define TMAMD1	__UMEM8(0x3F75)
#define CK4MD	__UMEM8(0x3F76)
#define TMAMD2	__UMEM8(0x3F77)
#define TM6BC	__UMEM8(0x3F78)
#define TM6OC	__UMEM8(0x3F79)
#define TM6MD	__UMEM8(0x3F7A)
#define TBCLR	__UMEM8(0x3F7B)
#define TM6BEN	__UMEM8(0x3F7C)
#define RMCTR	__UMEM8(0x3F7D)
#define TM7MD4	__UMEM8(0x3F7E)
#define TM8MD4	__UMEM8(0x3F7F)
#define TM7BCL	__UMEM8(0x3F80)
#define TM7BCH	__UMEM8(0x3F81)
#define TM7OC1L	__UMEM8(0x3F82)
#define TM7OC1H	__UMEM8(0x3F83)
#define TM7PR1L	__UMEM8(0x3F84)
#define TM7PR1H	__UMEM8(0x3F85)
#define TM7ICL	__UMEM8(0x3F86)
#define TM7ICH	__UMEM8(0x3F87)
#define TM7MD1	__UMEM8(0x3F88)
#define TM7MD2	__UMEM8(0x3F89)
#define TM7OC2L	__UMEM8(0x3F8A)
#define TM7OC2H	__UMEM8(0x3F8B)
#define TM7PR2L	__UMEM8(0x3F8C)
#define TM7PR2H	__UMEM8(0x3F8D)
#define TM7DPR1	__UMEM8(0x3F8E)
#define TM7DPR2	__UMEM8(0x3F8F)
#define TM8BCL	__UMEM8(0x3F90)
#define TM8BCH	__UMEM8(0x3F91)
#define TM8OC1L	__UMEM8(0x3F92)
#define TM8OC1H	__UMEM8(0x3F93)
#define TM8PR1L	__UMEM8(0x3F94)
#define TM8PR1H	__UMEM8(0x3F95)
#define TM8ICL	__UMEM8(0x3F96)
#define TM8ICH	__UMEM8(0x3F97)
#define TM8MD1	__UMEM8(0x3F98)
#define TM8MD2	__UMEM8(0x3F99)
#define TM8OC2L	__UMEM8(0x3F9A)
#define TM8OC2H	__UMEM8(0x3F9B)
#define TM8PR2L	__UMEM8(0x3F9C)
#define TM8PR2H	__UMEM8(0x3F9D)
#define TM7MD3	__UMEM8(0x3F9E)
#define TM8MD3	__UMEM8(0x3F9F)
#define TM7ICLD	__UMEM8(0x3FA0)
#define TM7ICHD	__UMEM8(0x3FA1)
#define TM7ICL1	__UMEM8(0x3FA2)
#define TM7ICH1	__UMEM8(0x3FA3)
#define TM7ICLD1	__UMEM8(0x3FA4)
#define TM7ICHD1	__UMEM8(0x3FA5)
#define TM7MD5	__UMEM8(0x3FA6)
#define TMRMD1	__UMEM8(0x3FA8)
#define TMRMD2	__UMEM8(0x3FA9)
#define TMRBCL	__UMEM8(0x3FAA)
#define TMRBCM	__UMEM8(0x3FAB)
#define TMRBCH	__UMEM8(0x3FAC)
#define TMRALL	__UMEM8(0x3FAD)
#define TMRALM	__UMEM8(0x3FAE)
#define TMRALH	__UMEM8(0x3FAF)
#define TMCKSEL1	__UMEM8(0x3FB0)
#define TMCKSEL2	__UMEM8(0x3FB1)
#define TMINSEL1	__UMEM8(0x3FB2)
#define TMINSEL2	__UMEM8(0x3FB3)
#define FBEWER	__UMEM8(0x3FBD)
#define FEWSPD	__UMEM8(0x3FBF)
#define ANCTR0	__UMEM8(0x3FC5)
#define ANCTR1	__UMEM8(0x3FC6)
#define ANCTR2	__UMEM8(0x3FC7)
#define ANBUF0	__UMEM8(0x3FC8)
#define ANBUF1	__UMEM8(0x3FC9)
#define IRQCNT	__UMEM8(0x3FD0)
#define NF0CTR	__UMEM8(0x3FD1)
#define NF1CTR	__UMEM8(0x3FD2)
#define NF2CTR	__UMEM8(0x3FD3)
#define NF3CTR	__UMEM8(0x3FD4)
#define NF4CTR	__UMEM8(0x3FD5)
#define NF5CTR	__UMEM8(0x3FD6)
#define LVLMD	__UMEM8(0x3FD7)
#define NMICR	__UMEM8(0x3FE1)
#define IRQ0ICR	__UMEM8(0x3FE2)
#define IRQ1ICR	__UMEM8(0x3FE3)
#define IRQ2ICR	__UMEM8(0x3FE4)
#define IRQ3ICR	__UMEM8(0x3FE5)
#define IRQ4ICR	__UMEM8(0x3FE6)
#define LINICR	__UMEM8(0x3FE7)
#define LVIICR	__UMEM8(0x3FE8)
#define TM0ICR	__UMEM8(0x3FE9)
#define TM1ICR	__UMEM8(0x3FEA)
#define TM2ICR	__UMEM8(0x3FEB)
#define TM3ICR	__UMEM8(0x3FEC)
#define TM4ICR	__UMEM8(0x3FED)
#define TMRICR	__UMEM8(0x3FEE)
#define TM6ICR	__UMEM8(0x3FEF)
#define TBICR	__UMEM8(0x3FF0)
#define TM7ICR	__UMEM8(0x3FF1)
#define TM8ICR	__UMEM8(0x3FF2)
#define TM9OC2ICR	__UMEM8(0x3FF3)
#define SC0TICR	__UMEM8(0x3FF4)
#define SC0RICR	__UMEM8(0x3FF5)
#define SC1TICR	__UMEM8(0x3FF6)
#define SC1RICR	__UMEM8(0x3FF7)
#define SC2TICR	__UMEM8(0x3FF8)
#define SC2RICR	__UMEM8(0x3FF9)
#define CANICR	__UMEM8(0x3FFA)
#define SC4ICR	__UMEM8(0x3FFC)
#define SC4STPCICR	__UMEM8(0x3FFD)
#define PERIICR	__UMEM8(0x3FFE)
